package br.com.truta.control;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import br.com.truta.bd.DaoException;
import br.com.truta.bd.dao.TipoDespesaDAO;
import br.com.truta.model.TipoDespesa;
import br.com.truta.model.Usuario;
import br.com.truta.util.Constantes;

public class TipoDespesaControl {

	public static boolean salvaTipoDespesa(HttpServletRequest req) {
		try {
			TipoDespesa tipoDespesa = mapeiaTipoDespesa(req);
			return TipoDespesaDAO.insereTipoDespesa(tipoDespesa);
		} catch (DaoException e) {
			e.printStackTrace();
		}
		return false;
	}

	public static List<TipoDespesa> buscaTipoDespesa(HttpServletRequest req) {
		Usuario usuario = (Usuario) req.getSession().getAttribute("usuario");
		List<TipoDespesa> listaTipoDespesa = null;
		try {
			listaTipoDespesa = TipoDespesaDAO.buscaTipoDespesa(usuario.getId());
		} catch (DaoException e) {
			e.printStackTrace();
		}

		return listaTipoDespesa;
	}

	/**
	 * Classe responsavel por mapear os dados do Tipo de Despesa
	 * da Pagina JSP CadastroUsuario para o objeto TipoDespesa
	 * 
	 * @param req
	 * @return TipoDespesa Mapeado
	 */
	private static TipoDespesa mapeiaTipoDespesa(HttpServletRequest req) {
		TipoDespesa tipoDespesa = new TipoDespesa();
		Usuario usuario = (Usuario) req.getSession().getAttribute("usuario");

		tipoDespesa.setIdUsuario(usuario.getId());
		tipoDespesa.setNome(req.getParameter(Constantes.PARAMETRO_TIPO_DESPESA_NOME));

		return tipoDespesa;
	}

}
